package com.chuangsi.project.admin.dto.esign;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.List;

/**
 * @author wangshengming
 * @date 2023/4/6
 */
@Data
public class ReqESignStartSignDto {

    @ApiModelProperty(value = "签署文件信息")
    private List<DocsDto> docs;

    @Data
    public static class DocsDto {

        @ApiModelProperty(value = "文件id")
        private String fileId;

    }

    @ApiModelProperty(value = "签署流程配置项")
    private SignFlow signFlowConfig;

    @ApiModelProperty(value = "签署流程的发起方")
    private SignFlowInitiator signFlowInitiator;


    @Data
    public static class SignFlow {

        @ApiModelProperty(value = "签署流程主题（将展示在签署通知和签署页的任务信息中）")
        private String signFlowTitle;


        @ApiModelProperty(value = "自动开启签署流程")
        private boolean autoStart = true;

        @ApiModelProperty(value = "自动完结")
        private boolean autoFinish = true;
    }

    @ApiModelProperty(value = "签署方信息")
    private List<Signers> signers;


    @Data
    public static class Signers {
        @ApiModelProperty(value = "签署方类型，0 - 个人，1 - 机构，2 - 法定代表人")
        private Integer signerType ;

        @ApiModelProperty(value = "机构方签署信息")
        private OrgSignerInfo orgSignerInfo;

        @ApiModelProperty(value = "个人签署方信息")
        private PsnSignerInfo psnSignerInfo;

        @ApiModelProperty(value = "签署区信息")
        private List<SignFields> signFields;

        @ApiModelProperty(value = "签署人配置项")
        private SignConfig signConfig;
    }





}
